#!/bin/bash
# yksinkertaisin perusvalikko (huomaa mihin järjestykseen ja missä muodossa lauseet tulee kirjoittaa. Tämä yksinkertainen valikon kaikki sidonnaisuudet poistuvat kun kopioi skriptiin kaikki funktiot kirjastoista
kanta=${0%/OMATSKRIPTIT*}

. "$kanta"/OMATSKRIPTIT/FUNKTIOKIRJASTO/valikkonäppäimille # ladataan kirjasto
. "$kanta"/OMATSKRIPTIT/FUNKTIOKIRJASTO/IDEfunktiot1       # ladataan kirjasto
. "$kanta"/OMATSKRIPTIT/FUNKTIOKIRJASTO/IDEfunktiot2       # ladataan kirjasto
. "$kanta"/OMATSKRIPTIT/FUNKTIOKIRJASTO/Xref_funktiot      # ladataan kirjasto

EtsittavatTiedostot=$(find ~/koe -type f); clear
[[ ! $EtsittavatTiedostot[0] ]] && echo "Osumia ei ole" && sleep 2 && exit
for (( Tiedosto=0; Tiedosto<=${#EtsittavatTiedostot[@]}; Tiedosto++ )); do 
  unset Valittavat; Valittavat=$(grep -n  "Varmista" ${EtsittavatTiedostot[$Tiedosto]})
  for (( Muutokset=0; Muutokset<=${#Valittavat[@]}; Muutokset++ )); do
echo kkk$Muutokset
    ValitseValittavistaYksi "kkk" #"Saako muutoksen suorittaa rivillä ${Valittavat[$Muutokset]}"  "f2=saa F4=ei"
    echo $Muutokset; read
  done
done   
read -p loppu

 
täytä_valittavat /home/$(whoami)/OMATSKRIPTIT/OHJEITA # valittavien joukko on lista kansion tiedostoista
ValitseValittavistaYksi "selaa nuolinäppäimillä ja haluamasi ohjetiedoston kohdalla paina enter"
gedit /home/$(whoami)/OMATSKRIPTIT/OHJEITA/"$ValitunTeksti"  # tai: echo "valitsit: "$ValitunTeksti
exit
# Edellisen lauseen tilalla voisi olla myös: [[ $ValitunTeksti = "valitun rivin teksti" ]] && <käsky tai minkäniminen funktio suoritetaan> 
# näitä ehtorivejä voi olla useampiakin, yksi jokaiselle vaihtoehdolle
#__________________________________________________________________________________________________________________________________________________________
# monimutkainen valikko, jossa määrättävät avaimet toimivat ja jossaa jokaisella toimintakerralla aloitetaan siitä mihin edellisellä kerralla lopetettiin 
. /home/$(whoami)/omatskriptit/FUNKTIOKIRJASTO/valikkonäppäimille
KansionNimi=/home/$(whoami)/omatskriptit/OHJEITA
täytä_valittavat $KansionNimi 
HaeSenRinvinNumeroJollaViimeksiTyöskenneltiinTässäKansiossa 
avaimet="f1=lopeta, f2=koo, f3=jat, f4=doku, end=eri, home=ohje, insert=hypi, delete=pompi"
# vain ne avaimet kirjoitetaan joiden halutaan toimivan; muita avaimia ei saa mainita
ValitseValittavistaYksi "selaa nuolinäppäimillä ja haluamasi ohjetiedoston kohdalla paina enter" "$avaimet" 
TalletaSenRinvinNumeroJollaNytTyöskenneltiinTässäKansiossa
gedit $KansionNimi/$ValitunTeksti

# testaus onko avainta f2 painettu (vain ne avatmet tunnistetaan jotka on määritelty muuttujassa avaimet. muille tunnetuille avaimille muodostetaan vastaava lause):
[[ $Tapahtuma = f2 ]] && koodaa # koodaa on funktio-kutsu; voidaan sen paikalle laittaa käskykin, vaikka: eläin=kirahvi 
exit 0
#_________________________________________________________________________________________________________________________________________________________

# tunnetaan myöskin muuttuja $ValitunArvo joka on ValitunArvo matriisin vastinarvo. Sillä on käyttöä koodimuunnoksissa. Siitä on seuraavba esimerkki:

. /home/$(whoami)/omatskriptit/FUNKTIOKIRJASTO/valikkonäppäimille
Valittavat=(1 2 3 4 5 6 7 8 9)
ValitunArvo=(yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän) # matriisista ValitunArvo voi määritellä alusta lähtien vain niin monta jäsentä kuin tarvitsee. 
ValitseValittavistaYksi "selaa nuolinäppäimillä ja haluamasi kohdalla paina enter"
echo "Valitsit:"$ValitunTeksti" ja koodimuunnos antaa tulokseksi:"$ValitunArvo
exit 0
_____________________________________________________________________________________________________________________________________________________________
# täytä_valittavat... sijaan voidaan kirjoittaa myös:
# Valittavat=(1 2 3 4 5 kukko kana piiroisen_pässi "mikäli valittavassa on välilyöntejä täytyy se laittaa heittomerkkien väliin")' 
# tai:  Valittavat=({mistä..mihin..askel_jos_tarvitaan})' 
# tai kurki tekotapa ohjeesta ohjeet/matriisi minkä ohje toimii kaikille käskyille.'

# Sitten valikko-ohjelman rajoituksista: 
#- valittavat esitetään aina yhdellä sivulla, sitä ei voi muuttaa. Mikäli valittavia on useampia kuin mitä sivulle mahtuu aletaan niitä jakaa niin moneen sarakkeeseen että kaikki mahtuvat; sarakkeenpituus määräytyy automaattisesti.
#- hyödyllinen rajoitus: samaa kohtaa ei voi valita useampaa kertaa peränjälkeen painamatta välillä jotain nuoli-näppäimistä
#- yleensä päätteen ohjeen pika-valinta on f12. Joskus se kuitenkin on f1 jolloin se täytyy vaihtaa - tai helpointa on olla käyttämättä f1:tä

